Micron Document
| SparkN0de-git | SparkN0de |


Displaying Raw • View renderedDownload


lang/README.de.md v4.4.0-rc.1 (3e06f582) Text, 8.04 KB

Tc9d1d9# Reticulum MeshChatX

Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.

Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.

Tff7b72- Quellcode: [Tff7b72git.quad4.io/RNS-Things/MeshChatX](Te6edf3https://git.quad4.io/RNS-Things/MeshChatX)
Tff7b72- Releases: [Tff7b72git.quad4.io/RNS-Things/MeshChatX/releases](Te6edf3https://git.quad4.io/RNS-Things/MeshChatX/releases)
Tff7b72- Aenderungsprotokoll: [Ta5d6ff`CHANGELOG.md`](../CHANGELOG.md)
Tff7b72- TODO: [Ta5d6ff`TODO.md`](../TODO.md)
Tff7b72- [Tff7b72English README](Te6edf3../README.md) | [Tff7b72Русский](Te6edf3README.ru.md) | [Tff7b72Italiano](Te6edf3README.it.md) | [Tff7b72中文](Te6edf3README.zh.md) | [Tff7b72日本語](Te6edf3README.ja.md)

Tc9d1d9## Wichtige Hinweise

Tff7b72- Volle LXMF-Unterstuetzung ist ein zentrales Projektziel.
Tff7b72- Datenspeicherung und Migrationen werden schrittweise auf reines SQL umgestellt (Ersatz alter Peewee-ORM-Pfade).

Tff7b72> [!WARNING]
Tff7b72> MeshChatX garantiert keine Datenkompatibilitaet mit aelteren Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.

Tff7b72> [!WARNING]
Tff7b72> Aeltere Systeme werden noch nicht vollstaendig unterstuetzt. Aktuelle Mindestanforderungen: Python `>=3.11` und Node `>=24`.

Tc9d1d9## Demo und Screenshots

<video src="https://strg.0rbitzer0.net/raw/62926a2a-0a9a-4f44-a5f6-000dd60deac1.mp4" controls="controls" style="max-width: 100%;"></video>

Tc9d1d9### Oberflaeche

![Tff7b72Telefon](Te6edf3../screenshots/phone.png)
![Tff7b72Netzwerkvisualisierung](Te6edf3../screenshots/network-visualiser.png)
![Tff7b72Archive](Te6edf3../screenshots/archives.png)
![Tff7b72Identitaeten](Te6edf3../screenshots/identities.png)

Tc9d1d9## Voraussetzungen

Tff7b72- Python Ta5d6ff`>=3.11` (aus Ta5d6ff`pyproject.toml`)
Tff7b72- Node.js Ta5d6ff`>=24` (aus Ta5d6ff`package.json`)
Tff7b72- pnpm Ta5d6ff`10.32.1` (aus Ta5d6ff`package.json`)
Tff7b72- Poetry (verwendet in Ta5d6ff`Taskfile.yml` und CI-Workflows)

Tc9d1d9## Installationsmethoden

| Methode | Frontend enthalten | Architekturen | Geeignet fuer |
| --------------------- | ------------------ | ------------------------------------- | ----------------------------------- |
| Docker-Image | Ja | Ta5d6ff`linux/amd64`, Ta5d6ff`linux/arm64` | Schnellster Start auf Linux-Servern |
| Python Wheel (Ta5d6ff`.whl`) | Ja | Jede Python-unterstuetzte Architektur | Headless/Webserver ohne Node-Build |
| Linux AppImage | Ja | Ta5d6ff`x64`, Ta5d6ff`arm64` | Portabler Desktop-Einsatz |
| Debian-Paket (Ta5d6ff`.deb`) | Ja | Ta5d6ff`x64`, Ta5d6ff`arm64` | Debian/Ubuntu-Installation |
| RPM-Paket (Ta5d6ff`.rpm`) | Ja | CI-abhaengig | Fedora/RHEL/openSUSE |
| Aus Quellcode | Lokal gebaut | Host-Architektur | Entwicklung und individuelle Builds |

Hinweise:

Tff7b72- Der Release-Workflow baut explizit Linux Ta5d6ff`x64` und Ta5d6ff`arm64` AppImage + DEB.
Tff7b72- RPM wird ebenfalls versucht und bei Erfolg hochgeladen.

Tc9d1d9## Schnellstart: Docker

Ta5d6ff```Ta5d6ffbash
docker compose up -d
Ta5d6ff```

Standard-Compose-Datei:

Tff7b72- Ta5d6ff`127.0.0.1:8000` auf dem Host -> Container-Port Ta5d6ff`8000`
Tff7b72- Ta5d6ff`./meshchat-config` -> Ta5d6ff`/config` fuer Persistenz

Bei Berechtigungsproblemen:

Ta5d6ff```Ta5d6ffbash
sudo chown -R T79c0ff1000:1000 ./meshchat-config
Ta5d6ff```

Tc9d1d9## Installation aus Release-Artefakten

Tc9d1d9### 1) Linux AppImage (x64/arm64)

Tff7b721. Ta5d6ff`ReticulumMeshChatX-v<version>-linux-<arch>.AppImage` von den Releases herunterladen.
Tff7b722. Ausfuehrbar machen und starten:

Ta5d6ff```Ta5d6ffbash
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
Ta5d6ff```

Tc9d1d9### 2) Debian/Ubuntu `.deb` (x64/arm64)

Tff7b721. Ta5d6ff`ReticulumMeshChatX-v<version>-linux-<arch>.deb` herunterladen.
Tff7b722. Installieren:

Ta5d6ff```Ta5d6ffbash
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
Ta5d6ff```

Tc9d1d9### 3) RPM-basierte Systeme

Tff7b721. Ta5d6ff`ReticulumMeshChatX-v<version>-linux-<arch>.rpm` herunterladen, falls im Release vorhanden.
Tff7b722. Installieren:

Ta5d6ff```Ta5d6ffbash
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
Ta5d6ff```

Tc9d1d9### 4) Python Wheel (`.whl`)

Release-Wheels enthalten die gebauten Web-Assets.

Ta5d6ff```Ta5d6ffbash
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless
Ta5d6ff```

Ta5d6ff`pipx` wird ebenfalls unterstuetzt:

Ta5d6ff```Ta5d6ffbash
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
Ta5d6ff```

Tc9d1d9## Aus Quellcode ausfuehren (Webserver-Modus)

Ta5d6ff```Ta5d6ffbash
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host T79c0ff127.0.0.1
Ta5d6ff```

Tc9d1d9## Sandboxing (Linux)

Um das native Ta5d6ff`meshchat`-Programm mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie **Firejail** oder **Bubblewrap** (Ta5d6ff`bwrap`) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:

Tff7b72- [Ta5d6ff`docs/meshchatx_linux_sandbox.md`](../docs/meshchatx_linux_sandbox.md)

Dieselbe Seite erscheint in der in-app-**Dokumentation** (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten Ta5d6ff`meshchatx-docs`-Dateien ausgeliefert wird.

Tc9d1d9## Desktop-Pakete aus Quellcode bauen

Tc9d1d9### Linux x64 AppImage + DEB

Ta5d6ff```Ta5d6ffbash
pnpm run dist:linux-x64
Ta5d6ff```

Tc9d1d9### Linux arm64 AppImage + DEB

Ta5d6ff```Ta5d6ffbash
pnpm run dist:linux-arm64
Ta5d6ff```

Tc9d1d9### RPM

Ta5d6ff```Ta5d6ffbash
pnpm run dist:rpm
Ta5d6ff```

Tc9d1d9## Architekturunterstuetzung

Tff7b72- Docker: Ta5d6ff`amd64`, Ta5d6ff`arm64`
Tff7b72- Linux AppImage: Ta5d6ff`x64`, Ta5d6ff`arm64`
Tff7b72- Linux DEB: Ta5d6ff`x64`, Ta5d6ff`arm64`
Tff7b72- Windows: Ta5d6ff`x64`, Ta5d6ff`arm64` (Build-Skripte vorhanden)
Tff7b72- macOS: Build-Skripte vorhanden (Ta5d6ff`arm64`, Ta5d6ff`universal`)
Tff7b72- Android: Projekt und CI-Workflow im Repository enthalten

Tc9d1d9## Android

Tff7b72- [Ta5d6ff`docs/meshchatx_on_android_with_termux.md`](../docs/meshchatx_on_android_with_termux.md)
Tff7b72- [Ta5d6ff`android/README.md`](../android/README.md)

Tc9d1d9## Konfiguration

| Argument | Umgebungsvariable | Standard | Beschreibung |
| --------------- | ---------------------- | ----------- | ---------------------------------- |
| Ta5d6ff`--host` | Ta5d6ff`MESHCHAT_HOST` | Ta5d6ff`127.0.0.1` | Webserver-Adresse |
| Ta5d6ff`--port` | Ta5d6ff`MESHCHAT_PORT` | Ta5d6ff`8000` | Webserver-Port |
| Ta5d6ff`--no-https` | Ta5d6ff`MESHCHAT_NO_HTTPS` | Ta5d6ff`false` | HTTPS deaktivieren |
| Ta5d6ff`--headless` | Ta5d6ff`MESHCHAT_HEADLESS` | Ta5d6ff`false` | Browser nicht automatisch oeffnen |
| Ta5d6ff`--auth` | Ta5d6ff`MESHCHAT_AUTH` | Ta5d6ff`false` | Basis-Authentifizierung aktivieren |
| Ta5d6ff`--storage-dir` | Ta5d6ff`MESHCHAT_STORAGE_DIR` | Ta5d6ff`./storage` | Datenverzeichnis |
| Ta5d6ff`--public-dir` | Ta5d6ff`MESHCHAT_PUBLIC_DIR` | auto | Frontend-Verzeichnis |

Tc9d1d9## Branches

| Branch | Zweck |
| -------- | ------------------------------------------------------------------------------ |
| Ta5d6ff`master` | Stabile Releases. Nur produktionsreifer Code. |
| Ta5d6ff`dev` | Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. |

Tc9d1d9## Entwicklung

Ta5d6ff```Ta5d6ffbash
task install
task lint:all
task test:all
task build:all
Ta5d6ff```

Tc9d1d9## Sicherheit

Tff7b72- [Ta5d6ff`SECURITY.md`](../SECURITY.md)
Tff7b72- Integrierte Integritaetspruefungen und HTTPS/WSS-Standardeinstellungen
Tff7b72- CI-Scanning-Workflows in Ta5d6ff`.gitea/workflows/`

Tc9d1d9## Sprache hinzufuegen

Die Spracherkennung erfolgt automatisch. Um eine neue Sprache hinzuzufuegen, genuegt eine einzige JSON-Datei:

Tff7b721. Vorlage aus Ta5d6ff`en.json` generieren:

Ta5d6ff```Ta5d6ffbash
python scripts/generate_locale_template.py
Ta5d6ff```

Tff7b722. Datei umbenennen und in das Locale-Verzeichnis verschieben:

Ta5d6ff```Ta5d6ffbash
mv locales.json meshchatx/src/frontend/locales/xx.json
Ta5d6ff```

Tff7b723. Ta5d6ff`_languageName` am Anfang der Datei auf den nativen Sprachnamen setzen (z.B. Ta5d6ff`"Espanol"`, Ta5d6ff`"Francais"`).

Tff7b724. Alle uebrigen Werte uebersetzen.

Tff7b725. Schluesselparitaet pruefen: Ta5d6ff`pnpm test -- tests/frontend/i18n.test.js --run`

Keine weiteren Code-Aenderungen noetig.

Tc9d1d9## Mitwirkende

Tff7b72- [Tff7b72Liam Cottle](Te6edf3https://github.com/liamcottle) - Originales Reticulum MeshChat
Tff7b72- [Tff7b72RFnexus](Te6edf3https://github.com/RFnexus) - JavaScript-Micron-Parser
Tff7b72- [Tff7b72markqvist](Te6edf3https://github.com/markqvist) - Reticulum, LXMF, LXST


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────